*** Settings ***
Resource  ../流程层.robot
Suite Teardown  关闭浏览器
Force Tags  功能测试  回归测试

*** Test Cases ***
修改密码流程正例
    [Documentation]  用户名、密码均正确场景
    [Tags]  关键测试
    进入密码修改页
    # 输入原密码
    输入文本  id=oldpassword  ${alterPwd}
    # 输入新密码
    输入文本  id=newpassword  ${newPwd}
    # 确认新密码
    输入文本  id=confirm  ${newPwd}
    # 点击提交按钮,验证提交按钮功能是否正常
    点击元素  id=submitPage
    # 获取消息提示文本
    ${Message}  获取文本  xpath=/html[1]/body[1]/div[3]/div[2]
    # 断言，与预期结果做对比
    should contain  ${Message}  密码修改成功！
    # 点击确定按钮
    点击元素  xpath=//*[@id="layui-layer1"]/div[3]/a
    # 退出用户修改嵌套页
    unselect frame
    # 点击注销按钮
    点击元素  xpath=//li[3]//a[1]//img[1]
    sleep  0.5    # 此睡眠时间保留
    # 输入用户名
    输入文本  id=username  ${ALTERUSER}
    # 输入密码
    输入文本  id=password  ${newPwd}
    # 点击登录按钮
    点击元素  id=submit
    # 获取登录后的用户名
    ${userText}  获取文本  xpath=//span[@class='userName']
    # 断言
    should be equal  ${userText}  ${ALTERUSER}
    sleep  0.5

旧密码不正确
    # 点击修改密码按钮
    点击元素  xpath=//a[@id='password']//img
    # 进入修改密码页面
    选择表单  id=layui-layer-iframe1
    # 输入错误的原密码
    输入文本  id=oldpassword  cuowumima
    # 输入新密码
    输入文本  id=newpassword  Yw111111-
    # 确认新密码
    输入文本  id=confirm  Yw111111-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取消息提示文本
    ${Message}  获取文本  xpath=//div[@class='layui-layer-content layui-layer-padding']
    # 断言，与预期结果做对比
    should contain  ${Message}  原密码错误
    # 点击确定按钮
    点击元素  xpath=/html[1]/body[1]/div[3]/div[3]/a[1]
    sleep  0.5

输入不含大写字母的新密码
    [Documentation]  密码规则要求必须包含大小写字母+数字+特殊符号且8位<长度<16位
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入不含大写字母的新密码
    输入文本  id=newpassword  yw111111-
    # 鼠标悬停在新密码输入框
    mouse hover  id=newpassword
    element should be enabled  xpath=//div[@class='formErrorContent']
    # 确认新密码
    输入文本  id=confirm  yw111111-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro1}  获取文本  id=layui-layer2
    should be equal  ${erro1}  验证不通过，提交失败！
    sleep  0.5

输入不含小写字母的新密码
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入不含小写字母的新密码
    输入文本  id=newpassword  YW111111-
    # 确认新密码
    输入文本  id=confirm  YW111111-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro2}  获取文本  id=layui-layer3
    should be equal  ${erro2}  验证不通过，提交失败！
    sleep  0.5

输入不含数字的新密码
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入不含数字的新密码
    输入文本  id=newpassword  YWyyyyyy-
    # 确认新密码
    输入文本  id=confirm  YWyyyyyy-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro3}  获取文本  id=layui-layer4
    should be equal  ${erro3}  验证不通过，提交失败！
    sleep  0.5

输入不含特殊字符的新密码
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入不含数字的新密码
    输入文本  id=newpassword  Yw11111111
    # 确认新密码
    输入文本  id=confirm  Yw11111111
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro4}  获取文本  id=layui-layer5
    should be equal  ${erro4}  验证不通过，提交失败！
    sleep  0.5

输入字符小于8位的新密码
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入小于8位的新密码
    输入文本  id=newpassword  Yw1234-
    # 确认新密码
    输入文本  id=confirm  Yw1234-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro5}  获取文本  id=layui-layer6
    should be equal  ${erro5}  验证不通过，提交失败！
    sleep  0.5

输入字符大于16位的新密码
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入大于16位的新密码
    输入文本  id=newpassword  Yw1234567890abcd-
    # 确认新密码
    输入文本  id=confirm  Yw1234567890abcd-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro6}  获取文本  id=layui-layer7
    should be equal  ${erro6}  验证不通过，提交失败！
    sleep  0.5

原密码为空
    # 清空输入内容
    点击元素  id=resetPage
    # 输入新密码
    输入文本  id=newpassword  ${newPwd}
    # 确认新密码
    输入文本  id=confirm  ${newPwd}
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro7}  获取文本  id=layui-layer8
    should be equal  ${erro7}  验证不通过，提交失败！
    sleep  0.5

新密码为空
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 确认新密码
    输入文本  id=confirm  ${newPwd}
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro8}  获取文本  id=layui-layer9
    should be equal  ${erro8}  验证不通过，提交失败！
    sleep  0.5

确认密码为空
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入新密码
    输入文本  id=newpassword  ${newPwd}
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro9}  获取文本  id=layui-layer10
    should be equal  ${erro9}  验证不通过，提交失败！
    sleep  0.5

新密码与确认密码不一致
    # 清空输入内容
    点击元素  id=resetPage
    # 输入原密码
    输入文本  id=oldpassword  ${newPwd}
    # 输入新密码
    输入文本  id=newpassword  ${newPwd}
    # 确认新密码
    输入文本  id=confirm  Different1-
    # 点击提交按钮
    点击元素  id=submitPage
    # 获取异常提示文本
    ${erro10}  获取文本  id=layui-layer11
    should be equal  ${erro10}  验证不通过，提交失败！
